package cn.gorit.mapper.user;

import cn.gorit.dto.user.SubDto;
import cn.gorit.dto.user.SubListDto;
import cn.gorit.utils.Page;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @version v1.0
 * @Classname SubMapper
 * @Description 订阅关注相关
 * @Author Gorit
 * @Created by 2021/3/26 23:29
 * @IDLE IntelliJ IDEA
 **/
@Repository
public interface SubMapper {
    void add_sub(SubDto dto);

    // 根据 ID 取消
    void cancel_sub(String subId);

    // 关注列表
    List<SubListDto> getSubByPage(Page<SubListDto> page);

    int getSubCountByPage(String userId);

    // 粉丝列表
    List<SubListDto> getFansByPage(Page<SubListDto> page);

    int getFansCountByPage(String userId);

    // 订阅之前搜索用户信息
    Integer getByUserId(String subId);

    // 回关逻辑，取消回关
    void updateSubState(SubDto dto);

    SubDto getSubById(String subId);
}
